package controller.cartp;

import com.alibaba.fastjson.JSON;
import com.zuche.framework.tradingPlatform.CurrenceSource;
import com.zuche.framework.tradingPlatform.GroupType;
import com.zuche.framework.tradingPlatform.RequestParams;
import com.zuche.framework.utils.PropertiesReader;
import controller.constant.CarTpConstant;
import controller.enums.GroupTypeEnum;
import controller.remote.CartpRemoteClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;

/**银联rpc性能测试
 * Created by 雷霆 on 2016/10/18.
 */
@Controller
@RequestMapping(value = "unionPayPerf/",produces = "text/html;charset=utf-8")
public class UnionPayRPCPerfermanceTestController {
    private static final Logger logger = LoggerFactory.getLogger(UnionPayRPCPerfermanceTestController.class);

    private String projectAddress;

    public UnionPayRPCPerfermanceTestController() {
        this.projectAddress = PropertiesReader.getAppointPropertiesAttribute(
                "setting", "projectAddress", String.class);
    }


    @RequestMapping(value = "doAuth.do_")
    public static  Object doAuth(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_UCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_AUTH.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME,"ucarcdms");
        requestMap.put(RequestParams.BUSINESS_ID, "27335575116676");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "=http://cdmstest03.10101111.com/ucarcdms/bankcard/preAuthorizationCallBackForAsyc.do");
        requestMap.put(RequestParams.PAYER_ID, "5126148");
        //requestMap.put(RequestParams.CARD_NO, "6226880050713890");
        requestMap.put(RequestParams.BIND_ID, "34396");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }

    @RequestMapping(value = "doAuthConfirm.do_")
    public static  Object doAuthConfirm(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_UCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_AUTH_CONFIRM.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_AUTH_CONFIRM.getKey());
        requestMap.put(RequestParams.BUSINESS_ID,"00427335162100165");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.RECORD_ID, "03127343067571001");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }

    @RequestMapping(value = "doAuthConfirmCancel.do_")
    public static  Object doAuthConfirmCancel(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_FCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_AUTH_CONFIRM.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_AUTH_CONFIRM.getKey());
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.RECORD_ID, "00427335162100220");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }

    @RequestMapping(value = "doAuthCancel.do_")
    public static  Object doAuthCancel(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_UCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_AUTH_CANCEL.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_AUTH_CANCEL.getKey());
        requestMap.put(RequestParams.BUSINESS_ID,"00427335162100165");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.RECORD_ID, "03127343067570617");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }


    @RequestMapping(value = "doQueryTradeFlow.do_")
    public static  Object doQueryTradeFlow(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_FCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.QUERY_TRADE_FLOW.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.QUERY_TRADE_FLOW.getKey());
            requestMap.put(RequestParams.RECORD_ID, "00427335162100164");

        logger.error(" [查询交易状态]carttp调用参数 : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [查询交易状态]carttp返回结果 : " + JSON.toJSONString(resultMap));

        return resultMap;
    }


    @RequestMapping(value = "doSendSms.do_")
    public static  Object doSendSms(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_UCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.IS_VALIDATE, "true");
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_SEND_SMS.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_SEND_SMS.getKey());
      //  requestMap.put(RequestParams.BUSINESS_ID, "1001010000002");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.PAYER_ID, "10676733");
        requestMap.put(RequestParams.CARD_NO, "6217900100019858094");
        requestMap.put(RequestParams.CARD_TYPE, "2");
        requestMap.put(RequestParams.IDENTITY_ID, "131082198602210525");
        requestMap.put(RequestParams.IDENTITY_TYPE, "0");
        requestMap.put(RequestParams.PAYER_NAME, "荣雪梅");
        requestMap.put(RequestParams.PAYER_TEL, "13691275856");
        //requestMap.put(RequestParams.CARD_NO, "6217920660398566");
        //requestMap.put(RequestParams.IDENTITY_ID, "652323199107043516");
        //requestMap.put(RequestParams.PAYER_TEL, "15301067848");
        //requestMap.put(RequestParams.PAYER_NAME, "雷霆");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }




    @RequestMapping(value = "doSecSendSms.do_")
    public static  Object doSecSendSms(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_UCAR);
        requestMap.put(RequestParams.SOURCE_ID, CurrenceSource.SPDB);
        requestMap.put(RequestParams.IS_VALIDATE, "true");
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_SEND_SMS.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_SEND_SMS.getKey());
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.PAYER_ID, "5105151");
        requestMap.put(RequestParams.PAYER_NAME, "雷霆");
        requestMap.put(RequestParams.CARD_NO, "6217920660398566");
        requestMap.put(RequestParams.CARD_TYPE, "2");
        requestMap.put(RequestParams.CREDITCARD_EXPIREMONTH, "12");
        requestMap.put(RequestParams.CREDITCARD_EXPIREYEAR, "24");
        requestMap.put(RequestParams.CREDITCARD_CVV, "423");
        requestMap.put(RequestParams.PAYER_TEL, "15301067848");
        requestMap.put(RequestParams.IDENTITY_ID, "652323199107043516");
        requestMap.put(RequestParams.IDENTITY_TYPE, "0");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }
    @RequestMapping(value = "doPayBind.do_")
    public static  Object doPayBind(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CurrenceSource.SPDB);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_PAY_BIND.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_PAY_BIND.getKey());
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.PAYER_ID, "10676733");
        requestMap.put(RequestParams.VALID_CODE, "851400");
        requestMap.put(RequestParams.IS_VALIDATE, "true");
        requestMap.put(RequestParams.RECORD_ID, "030027343502607506");
        requestMap.put(RequestParams.BIND_ID, "33069");
        requestMap.put(RequestParams.CARD_TYPE, "2");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }


    /**
     * 绑卡查询
     * @return
     */
    @RequestMapping(value = "doQueryCreditcardBind.do_")
    public static  Object doQueryCreditcardBind(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.QUERY_CREDITCARD_BIND.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.QUERY_CREDITCARD_BIND.getKey());
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.PAYER_ID, "10676733");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }


    /**
     * 查询卡信息
     * @param request
     * @param response
     */
    @RequestMapping("/unionCardInfo.do_")
    public void unionCardInfo(HttpServletRequest request,
                                  HttpServletResponse response) {
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.QUERY_UNION_CARD_INFO.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.QUERY_UNION_CARD_INFO.getKey());
        requestMap.put(RequestParams.CARD_NO,"5240470019132178");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));
    }

    /**
     * 查询卡信息
     * @param request
     * @param response
     */
    @RequestMapping("/testQueryCardInfo.do_")
    public void testQueryCardInfo(HttpServletRequest request,
                                  HttpServletResponse response) {
        // 6225758319641493
        Map<String, String> paramMap = new HashMap<String, String>();
        paramMap.put(RequestParams.GROUP_TYPE, GroupType.QUERY_CARD_INFO);
        paramMap.put(RequestParams.SYS_GROUP, "0");
        paramMap.put(RequestParams.CARD_NO,"6217900100019858094");
        paramMap.put("tp_is_query_support","1");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(paramMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(paramMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));
    }

    /**
     * 查询银联卡信息
     * @param request
     * @param response
     */
    @RequestMapping("/testQueryUnionCardInfo.do_")
    public void testQueryUnionCardInfo() {
        // 6225758319641493
        Map<String, String> paramMap = new HashMap<String, String>();
        paramMap.put(RequestParams.GROUP_TYPE,"unionCardInfo");
        paramMap.put(RequestParams.SYS_GROUP, "0");
        paramMap.put(RequestParams.CARD_NO,"6217900100019858094");
        paramMap.put("tp_is_query_support","1");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(paramMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(paramMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));
    }


    /**
     * 直接消费
     * @return
     */
    @RequestMapping(value = "doPayment.do_")
    public static  Object doPayment(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_PAYMENT.getValue());
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.PAYER_ID, "10676733");
        requestMap.put(RequestParams.BIND_ID, "33069");
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_PAYMENT.getKey());
        requestMap.put(RequestParams.BUSINESS_ID,"030027343502607425");
        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }

    /**
     * 消费退款
     * @return
     */
    @RequestMapping(value = "doRefund.do_")
    public static  Object doRefund(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_CANCEL.getValue());
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.RECORD_ID, "030027343502607425");
        requestMap.put(RequestParams.BUSINESS_ID,"11111111");
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_CANCEL.getKey());

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }

    /**
     * 消费撤销
     * @return
     */
    @RequestMapping(value = "doCancel.do_")
    public static  Object doCancel(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_FCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_CANCEL.getValue());
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.RECORD_ID, "00427335162100272");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }


    /**
     * 网页支付 web
     * @return
     */
    @RequestMapping(value = "doWebPay.do_")
    public static  Object doWebPay(HttpServletRequest request,
                                   HttpServletResponse response){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_WEB_PAY.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_WEB_PAY.getKey());
        requestMap.put(RequestParams.BUSINESS_ID, "11111");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL,"www.baidu.com");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
         CartpRemoteClient.doMvc(request, response, requestMap, true);
       // logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return null;
    }



    /**
     * 网页支付 wap
     * @return
     */
    @RequestMapping(value = "doWapPay.do_")
    public static  Object doWapPay(HttpServletRequest request,
                                   HttpServletResponse response){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_WAP_PAY.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_WAP_PAY.getKey());
        requestMap.put(RequestParams.BUSINESS_ID, "11111");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL,"www.baidu.com");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        CartpRemoteClient.doMvc(request, response, requestMap, true);
        // logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return null;
    }

    /**
     * 网页支付
     * @return
     */
    @RequestMapping(value = "doAPPPay.do_")
    public static  Object doAPPPay(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_UCAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNION_APP_PAY.getValue());
        requestMap.put(RequestParams.BUSINESS_NAME, GroupTypeEnum.UNION_APP_PAY.getKey());
        requestMap.put(RequestParams.BUSINESS_ID, "11111");
        requestMap.put(RequestParams.BUSINESS_MONEY,"0.01");
        requestMap.put(RequestParams.ASYNC_REPLY_URL,"www.baidu.com");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }


    /**
     * 解绑
     * @return
     */
    @RequestMapping(value = "doUnbindCreditCard.do_")
    public static  Object doUnbindCreditCard(){
        Map<String,String> requestMap=new HashMap<String, String>();
        requestMap.put(RequestParams.SYS_GROUP, CarTpConstant.SYS_GROUP_CAR);
        requestMap.put(RequestParams.SOURCE_ID, CarTpConstant.SOURCE_ID);
        requestMap.put(RequestParams.GROUP_TYPE, GroupTypeEnum.UNBIND_CREDIT_CARD.getValue());
        requestMap.put(RequestParams.ASYNC_REPLY_URL, "wwww.baidu.com");
        requestMap.put(RequestParams.BIND_ID, "33069");

        logger.error(" [carttp调用参数] : " + JSON.toJSONString(requestMap));
        Map<String,String> resultMap = CartpRemoteClient.doRpcInvoke(requestMap, true);
        logger.error(" [carttp返回结果] : " + JSON.toJSONString(resultMap));

        return resultMap;
    }

}
